import os
from PIL import Image

# 请将下面三个路径替换成你的实际路径
folder1_path = r'/home/shuai/Downloads/exp_nousv2'
folder2_path = r'/home/shuai/Downloads/exp_nousv3'
target_folder_path = r'/home/shuai/Downloads/exp_nousv23'

# 如果目标文件夹不存在，则创建它
if not os.path.exists(target_folder_path):
    os.makedirs(target_folder_path)

# 遍历第一个文件夹中的所有文件
for file_name in os.listdir(folder1_path):
    # 构造两个源图片的完整路径
    image1_path = os.path.join(folder1_path, file_name)
    image2_path = os.path.join(folder2_path, file_name)

    # 检查两个路径是否都是文件（排除文件夹等）
    if os.path.isfile(image1_path) and os.path.isfile(image2_path):
        try:
            # 打开两张图片
            image1 = Image.open(image1_path)
            image2 = Image.open(image2_path)

            # 计算拼接后图片的尺寸（这里采用水平拼接）
            total_width = image1.width + image2.width
            max_height = max(image1.height, image2.height)

            # 创建一个新图片，背景颜色默认为黑色，可以通过参数设置其他颜色
            new_image = Image.new('RGB', (total_width, max_height))

            # 将第一张图片粘贴到新图片的左边
            new_image.paste(image1, (0, 0))
            # 将第二张图片粘贴到新图片的右边
            new_image.paste(image2, (image1.width, 0))

            # 保存拼接后的图片到目标文件夹
            target_image_path = os.path.join(target_folder_path, file_name)
            new_image.save(target_image_path)
            print(f"已保存: {target_image_path}")
        except Exception as e:
            print(f"处理 {file_name} 时出错: {e}")
